<!DOCTYPE html>
<html lang="zh-cn">
  <head>
    <meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="generator" content="Hugo 0.82.0" />


<title>R 语言安装以及更新 - 宇飞的世界</title>
<meta property="og:title" content="R 语言安装以及更新 - 宇飞的世界">


  <link href='/favicon.ico' rel='icon' type='image/x-icon'/>



  








<link href='//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/github.min.css' rel='stylesheet' type='text/css' />



<link rel="stylesheet" href="/css/fonts.css" media="all">
<link rel="stylesheet" href="/css/main.css" media="all">



  </head>
  <body>
    <div class="wrapper">
      <header class="header">
        <nav class="nav">
  <a href="/" class="nav-logo">
    <img src="/images/logo.png"
         width="50"
         height="50"
         alt="Logo">
  </a>

  <ul class="nav-links">
    
    <li><a href="/about/">About</a></li>
    
    <li><a href="/categories/">Categories</a></li>
    
    <li><a href="/tags/">Tags</a></li>
    
    <li><a href="http://www.zhongyufei.com/Rbook/_book">R study</a></li>
    
  </ul>
</nav>

      </header>


<main class="content" role="main">

  <article class="article">
    
    <span class="article-duration">2 min read</span>
    

    <h1 class="article-title">R 语言安装以及更新</h1>

    
    <span class="article-date">2021-05-12</span>
    

    <div class="article-content">
      <h1 id="前言">前言</h1>
<p>由于个人强迫症，当R新版出来时一定会尝试，所以怎么快捷方便更新R版本是个问题,尤其时最近R版本从3.6.3到4.0.5，现在4.1.0也即将发布。有时升级到最新版本时想要保留当前版本，如果是自己本地环境可以任意折腾，但是更新服务器上R版本时需谨慎,尤其是部署了rstudio-server以及shiny-server时，即使出现问题不兼容也能退回旧版本。所以就服务器上R安装更新做如下记录。</p>
<p>由于对linux命令不太了解以及对linux上的R认知有限,难免出现错误,如有问题,望告知,谢谢.</p>
<h1 id="基础命令">基础命令</h1>
<p>开始安装更新之前先了解几个命令.
想要查看服务器上是否安装了R,安装了哪些版本,目前使用的版本的路径等等问题,可以用以下命令在终端执行</p>
<ul>
<li>R版本</li>
</ul>
<pre><code># Red hat centos
rpm -qa |grep R-

# Ubuntu
$ dpkg -s r-base
</code></pre><ul>
<li>R位置</li>
</ul>
<pre><code>which R
</code></pre><ul>
<li>R_RHOME</li>
</ul>
<pre><code>R_RHOME
</code></pre><h1 id="安装更新">安装更新</h1>
<p>由于之前已经写过Ubuntu系统上<a href="https://mp.weixin.qq.com/s/ggoolYtWpjn-NqOVNQyn8A">R安装更新</a>,本文主要记录Centos上R安装以及更新.另外会简单描述下win系统上R的安装以及更新.</p>
<h2 id="linux">Linux</h2>
<p>本文主要代码是Centos7上R语言的安装更新.由于有Rstudio出品的R的安装指引,在服务器上安装R已经是一件超级简单的事情,之所以有本文的笔记,主要是想让自己加深理解.
犹记得当初对linux一窍不通时安装R的迷茫与心累.第一次尝试服务器上安装R就是使用的阿里云的centos7系统安装,按照网上提供的教程<code>yum install R</code>很顺畅的就安装上了.但是当我想安装新版本R时,灾难就来临了.后面经过摸索,我使用R的环境已经从centos系统切换到buntu系统了.主要是感觉网上关于ubuntu和R的教程多一些.另外ubuntu桌面看起来让我对ubuntu有好感.</p>
<h3 id="centos">Centos</h3>
<h4 id="系统软件包管理器安装">系统软件包管理器安装</h4>
<p>在centos7上安装R首先需要在系统上安装<a href="https://linuxize.com/post/how-to-enable-epel-repository-on-centos/">EPEL存储库</a>。通过系统软件包安装R时<code>which R</code>返回结果是<code>/usr/bin/R</code></p>
<pre><code>sudo yum install epel-release
sudo yum install R
R --version
</code></pre><p>截止到2021年5月7日，在centos7上通过上述代码可安装R3.6.0</p>
<p><img src="https://gitee.com/zhongyufei/photo-bed/raw/pic/img/%E4%BC%81%E4%B8%9A%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_16203528613453.png" alt=""></p>
<h4 id="源安装rstudio">源安装Rstudio</h4>
<p>采用<a href="https://docs.rstudio.com/resources/install-r/">Rstudio install R </a>方法安装指定版本R.通过该方式安装R时<code>which R</code>返回结果是通常是<code>/usr/local/bin/R</code>，好处是可以安装使用多版本的R，并在更新系统软件包时避免替换R的现有版本。和win系统下面安装多版本的R类似。</p>
<ul>
<li>先决条件</li>
</ul>
<pre><code># Enable the Extra Packages for Enterprise Linux (EPEL) repository
sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm 

# On RHEL 7, enable the Optional repository
sudo subscription-manager repos --enable &quot;rhel-*-optional-rpms&quot;

# If running RHEL 7 in a public cloud, such as Amazon EC2, enable the
# Optional repository from Red Hat Update Infrastructure (RHUI) instead
sudo yum install yum-utils
sudo yum-config-manager --enable &quot;rhel-*-optional-rpms&quot;
</code></pre><ul>
<li>指定版本</li>
</ul>
<pre><code>export R_VERSION=3.6.3
</code></pre><ul>
<li>下载安装 R</li>
</ul>
<pre><code>curl -O https://cdn.rstudio.com/r/centos-7/pkgs/R-${R_VERSION}-1-1.x86_64.rpm
sudo yum install R-${R_VERSION}-1-1.x86_64.rpm
</code></pre><ul>
<li>检查版本</li>
</ul>
<pre><code>/opt/R/${R_VERSION}/bin/R --version
</code></pre><ul>
<li>创建软连接</li>
</ul>
<p>仅仅在第一次安装时需要</p>
<pre><code>sudo ln -s /opt/R/${R_VERSION}/bin/R /usr/local/bin/Rsudo ln -s /opt/R/${R_VERSION}/bin/Rscript /usr/local/bin/Rscript
</code></pre><h4 id="更新系统软件包">更新系统软件包</h4>
<p>该种方式是通过更新系统软件包的源地址从而更新软件.ubuntu install R 中就是通过这种方式更新R,这种方式是更新R版本,而不是多种版本共存.建议采用Rstudio的提供的指引让多版本R共存.</p>
<h3 id="ubuntu">Ubuntu</h3>
<p>对于ubuntu上R语言环境搭建已经写过相关文章,请参考<a href="https://www.yuque.com/zyufei/rstudy/ubuntu-install-r">Ubuntu install R</a>.</p>
<h3 id="利用r包更新r">利用R包更新R</h3>
<p>R包<code>ropenblas</code><a href="https://prdm0.github.io/ropenblas/">项目地址</a>.简单测试过,没有成功,也没有深究原因,暂时先搁置.</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-r" data-lang="r"><span style="color:#a6e22e">install.packages</span>(<span style="color:#e6db74">&#34;ropenblas&#34;</span>)ropenblas<span style="color:#f92672">::</span><span style="color:#a6e22e">rcompiler</span>()
</code></pre></div><p>执行上述命令退出R后,R无法正常启动.<a href="https://stackoverflow.com/questions/62857928/error-of-install-r-in-linux-red-haterror-while-loading-shared-libraries-librbl">解决方案</a>如下:</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-r" data-lang="r">mv <span style="color:#f92672">/</span>usr<span style="color:#f92672">/</span>lib64<span style="color:#f92672">/</span>R<span style="color:#f92672">/</span>lib<span style="color:#f92672">/</span>libRrefblas.so <span style="color:#f92672">/</span>usr<span style="color:#f92672">/</span>lib64<span style="color:#f92672">/</span>R<span style="color:#f92672">/</span>lib<span style="color:#f92672">/</span>libRblas.so
</code></pre></div><h2 id="问题">问题</h2>
<ol>
<li>如果第一次安装是采用系统软件包管理器安装R,后面采用源安装其它版本,想要切换成源安装的指定版本改如何解决?</li>
<li>R包可以共享吗?</li>
<li>源安装不同版本后如何切换?</li>
</ol>
<p>通过软连接指定R版本即可,R包在不同版本间不可以共享.通过重新安装或者复制其它版本的R包到新版R的包路径下.</p>
<hr>
<h2 id="win-系统">Win 系统</h2>
<p><code>win</code>系统安装<a href="https://mirrors.tuna.tsinghua.edu.cn/CRAN/">R</a>,进入官网下载R.exe,下载完成后一路下一步安装即可.这种方式可以安装最新版本R.</p>
<p>历史<a href="https://cran.r-project.org/bin/windows/base/old/">R版本</a></p>
<p><a href="https://cran.r-project.org/bin/windows/Rtools/">Rtools安装</a>
关于Rtools的环境变量配置请查阅win10下环境变量配置.</p>
<p><img src="https://gitee.com/zhongyufei/photo-bed/raw/pic/img/win-10%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F.png" style="zoom:67%;" /></p>
<h3 id="更新">更新</h3>
<p>win系统下更新可以通过执行新版exe文件,也可以通过<code>installr</code>包更新,<a href="http://talgalili.github.io/installr/">项目地址</a>.</p>
<pre><code>if(!require(&quot;installr&quot;)) install.packages('installr')library(&quot;installr&quot;)updateR() 
</code></pre><h1 id="安装包">安装包</h1>
<p>当我们安装新版R后，我们需要安装R包。这时可以采用两种方式：</p>
<ol>
<li>将历史R版本的R包复制到新版本R中</li>
<li>重新安装 本处记录本人常用R包安装代码</li>
</ol>
<pre><code># 通常root账户下载的R包存放地址/opt/R/4.0.3/lib/R/library
</code></pre><div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-r" data-lang="r"><span style="color:#a6e22e">install.packages</span>(<span style="color:#e6db74">&#34;pacman&#34;</span>, repos <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;https://mirrors.tuna.tsinghua.edu.cn/CRAN/&#34;</span>)<span style="color:#75715e">## 常用R包allpackages &lt;- c(&#34;Rcpp&#34;, &#34;tidyverse&#34;, &#34;echarts4r&#34;, &#34;lubridate&#34;, &#34;pedquant&#34;, &#34;data.table&#34;, &#34;DT&#34;, &#34;DBI&#34;, &#34;odbc&#34;, &#34;devtools&#34;, &#34;ROracle&#34;, &#34;reactable&#34;, &#34;shiny&#34;, &#34;blogdown&#34;,&#39;future.apply&#39;,&#39;shinydashboard&#39;,&#39;dataPreparation&#39;,&#39;shinydashboard&#39;,&#39;shinyWidgets&#39;,&#39;furrr&#39;,&#39;,shinycssloaders&#39;,&#39;crosstalk&#39;,&#39;shinythemes&#39;)library(pacman)p_load(allpackages,character.only=TRUE,	       repos = &#34;https://mirrors.tuna.tsinghua.edu.cn/CRAN/&#34;,       dependencies=TRUE, INSTALL_opts = c(&#39;--no-lock&#39;))</span>
</code></pre></div><p><strong>Note</strong>:安装R包前需要检查依赖，上诉R包的安装依赖，详见 <a href="https://mp.weixin.qq.com/s/ggoolYtWpjn-NqOVNQyn8A">Ubuntu install R</a></p>
<h1 id="r启动项配置">R启动项配置</h1>
<p>相关启动项,如一些环境变量配置,下载包的源地址等设置,相关信息请<a href="https://support.rstudio.com/hc/en-us/articles/360047157094-Managing-R-with-Rprofile-Renviron-Rprofile-site-Renviron-site-rsession-conf-and-repos-conf">查阅</a>.</p>
<table>
<thead>
<tr>
<th>File</th>
<th>Who Controls</th>
<th>Level</th>
<th>Limitations</th>
</tr>
</thead>
<tbody>
<tr>
<td>.Rprofile</td>
<td>User or Admin</td>
<td>User or Project</td>
<td>None, sourced as R code.</td>
</tr>
<tr>
<td>.Renviron</td>
<td>User or Admin</td>
<td>User or Project</td>
<td>Set environment variables only.</td>
</tr>
<tr>
<td>Rprofile.site</td>
<td>Admin</td>
<td>Version of R</td>
<td>None, sourced as R code.</td>
</tr>
<tr>
<td>Renviron.site</td>
<td>Admin</td>
<td>Version of R</td>
<td>Set environment variables only.</td>
</tr>
<tr>
<td>rsession.conf</td>
<td>Admin</td>
<td>Server</td>
<td>Only RStudio settings, only single   repository.</td>
</tr>
<tr>
<td>repos.conf</td>
<td>Admin</td>
<td>Server</td>
<td>Only for setting repositories.</td>
</tr>
</tbody>
</table>
<p>Oracle数据库的语言环境变量设置.</p>
<pre><code>sudo cd /opt/R/4.0.5/lib/R/etcvim  Renviron
</code></pre><p>将相关变量进行配置,即将下面环境变量复制进去，R在启动前会读取该环境变量的设置。</p>
<pre><code>Sys.setenv(NLS_LANG=&quot;SIMPLIFIED CHINESE_CHINA.AL32UTF8&quot;)
</code></pre><p>关于这部分由于对linux系统实在不熟悉,仅仅只是将自己可能遇见的问题记录,不敢随便修改配置文件.</p>
<h2 id="依赖环境">依赖环境</h2>
<p>在使用usethis包创建Rprofile时,需安装usethis包,但是该包需要依赖环境.</p>
<pre><code> # usethis install  ImageMagick-c++-devel libgit2-devel
</code></pre><h1 id="参考资料">参考资料</h1>
<p>[1]:<a href="https://support.rstudio.com/hc/en-us/articles/360047157094-Managing-R-with-Rprofile-Renviron-Rprofile-site-Renviron-site-rsession-conf-and-repos-conf">Rprofile</a>  <a href="https://support.rstudio.com/hc/en-us/articles/360047157094-Managing-R-with-Rprofile-Renviron-Rprofile-site-Renviron-site-rsession-conf-and-repos-conf">https://support.rstudio.com/hc/en-us/articles/360047157094-Managing-R-with-Rprofile-Renviron-Rprofile-site-Renviron-site-rsession-conf-and-repos-conf</a>
[2]:<a href="https://support.rstudio.com/hc/en-us/articles/200552316-Configuring-the-Server">rsession.conf</a>  <a href="https://support.rstudio.com/hc/en-us/articles/200552316-Configuring-the-Server">https://support.rstudio.com/hc/en-us/articles/200552316-Configuring-the-Server</a></p>

    </div>
  </article>

  


</main>

      <footer class="footer">
        <ul class="footer-links">
          <li>
            <a href="/index.xml" type="application/rss+xml" target="_blank">RSS feed</a>
          </li>
          <li>
            <a href="https://beian.miit.gov.cn/" target="_blank">粤ICP备20035539号</a>
          </li>
        </ul>
      </footer>

    </div>
    



<script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script>



<script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/languages/r.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/languages/yaml.min.js"></script>
<script>hljs.configure({languages: []}); hljs.initHighlightingOnLoad();</script>



    
<script src="/js/math-code.js"></script>
<script async src="//cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>


    
  </body>
</html>

